home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Controls / Visual Basic Controls.iso / vbcontrol / sgwnd10 / location.cls < prev    next >
Encoding:
Visual Basic class definition  |  1998-06-17  |  4.0 KB  |  147 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4. END
  5. Attribute VB_Name = "Location"
  6. Attribute VB_GlobalNameSpace = False
  7. Attribute VB_Creatable = True
  8. Attribute VB_PredeclaredId = False
  9. Attribute VB_Exposed = False
  10. Attribute VB_Ext_KEY = "SavedWithClassBuilder" ,"Yes"
  11. Attribute VB_Ext_KEY = "Top_Level" ,"No"
  12. Option Explicit
  13.  
  14. Enum ModuleSection
  15.     sectNone
  16.     sectGlobal
  17.     sectEvent
  18.     sectProc
  19.     sectPropGet
  20.     sectPropLet
  21.     sectPropSet
  22. End Enum
  23.  
  24. Enum ModulePosition
  25.     posNone
  26.     posBegin
  27.     posEnd
  28.     posAbsolute
  29.     posRelative
  30. End Enum
  31.  
  32. Const sSep = ";"
  33. Const sValSep = ":"
  34. Const sSectGlobal = "Global"
  35. Const sSectEvent = "Event"
  36. Const sSectProc = "Proc"
  37. Const sSectPropGet = "PropGet"
  38. Const sSectPropLet = "PropLet"
  39. Const sSectPropSet = "PropSet"
  40. Const sPosBegin = "Begin"
  41. Const sPosEnd = "End"
  42. Const sPosAbsolute = "Absolute"
  43. Const sPosRelative = "Relative"
  44.  
  45. Private mvarCodeModule As String
  46. Private mvarObjectName As String
  47. Private mvarEventName As String
  48. Private mvarSection As ModuleSection
  49. Private mvarProcName As String
  50. Private mvarPosition As ModulePosition
  51. Private mvarLineNumber As Long
  52.  
  53.  
  54. Friend Sub Initialize(sLocation$)
  55.     Dim sPosition$, sSection$, sSectName$, sPosName$
  56.     
  57.     mvarObjectName = ""
  58.     mvarEventName = ""
  59.     mvarSection = sectNone
  60.     mvarProcName = ""
  61.     mvarPosition = posNone
  62.     mvarLineNumber = 0
  63.  
  64.     mvarCodeModule = Str_Token(sLocation, sSep, 0)
  65.     sSection = Str_Token(sLocation, sSep, 1)
  66.     sPosition = Str_Token(sLocation, sSep, 2)
  67.     
  68.     ' Parse section block
  69.     sSectName = Str_Token(sSection, sValSep, 0)
  70.     If (sSectName = "") Then
  71.         mvarSection = sectGlobal
  72.     Else
  73.         Select Case sSectName
  74.             Case sSectGlobal
  75.                 mvarSection = sectGlobal
  76.             Case sSectProc
  77.                 mvarSection = sectProc
  78.                 mvarProcName = Str_Token(sSection, sValSep, 1)
  79.             Case sSectEvent
  80.                 mvarSection = sectEvent
  81.                 mvarObjectName = Str_Token(sSection, sValSep, 1)
  82.                 mvarEventName = Str_Token(sSection, sValSep, 2)
  83.             Case sSectPropGet
  84.                 mvarSection = sectPropGet
  85.                 mvarProcName = Str_Token(sSection, sValSep, 1)
  86.             Case sSectPropLet
  87.                 mvarSection = sectPropLet
  88.                 mvarProcName = Str_Token(sSection, sValSep, 1)
  89.             Case sSectPropSet
  90.                 mvarSection = sectPropSet
  91.                 mvarProcName = Str_Token(sSection, sValSep, 1)
  92.         End Select
  93.     End If
  94.     
  95.     ' Parse position block
  96.     sPosName = Str_Token(sPosition, sValSep, 0)
  97.     If (sPosName = "") Then
  98.         mvarSection = posBegin
  99.     Else
  100.         Select Case sPosName
  101.             Case sPosBegin
  102.                 mvarPosition = posBegin
  103.             Case sPosEnd
  104.                 mvarPosition = posEnd
  105.             Case sPosAbsolute
  106.                 mvarPosition = posAbsolute
  107.                 mvarLineNumber = Str_Token(sPosition, sValSep, 1)
  108.             Case sPosRelative
  109.                 mvarPosition = posRelative
  110.         End Select
  111.     End If
  112. End Sub
  113.  
  114. Public Property Get LineNumber() As Long
  115.     LineNumber = mvarLineNumber
  116. End Property
  117.  
  118. Public Property Get Position() As ModulePosition
  119. Attribute Position.VB_Description = "Can be one of: Begin, End, Absolute, Relative"
  120.     Position = mvarPosition
  121. End Property
  122.  
  123. Public Property Get ProcName() As String
  124.     ProcName = mvarProcName
  125. End Property
  126.  
  127. Public Property Get Section() As ModuleSection
  128. Attribute Section.VB_Description = "Can be one of: global, proc, event, property"
  129.     Section = mvarSection
  130. End Property
  131.  
  132. Public Property Get EventName() As String
  133.     EventName = mvarEventName
  134. End Property
  135.  
  136. Public Property Get ObjectName() As String
  137.     ObjectName = mvarObjectName
  138. End Property
  139.  
  140. Public Property Get CodeModule() As String
  141. Attribute CodeModule.VB_Description = "Code module full path"
  142.     CodeModule = mvarCodeModule
  143. End Property
  144.  
  145.  
  146.  
  147.